widget: Add _gtk_widget_peek_accessible()
authorBenjamin Otte <otte@redhat.com>
Sat, 12 Nov 2011 02:38:40 +0000 (03:38 +0100)
committerBenjamin Otte <otte@redhat.com>
Wed, 16 Nov 2011 03:39:23 +0000 (04:39 +0100)
This function returns the accessible if it already exists. This way we
can call functions on the accessible from the widget itself instead of
having to rely on signals.

gtk/gtkwidget.c
gtk/gtkwidgetprivate.h

index c624af6af1528636dda2a2a334e02a16c7575921..667569b7947c50eb0d77f995a37725ca7f50ebdb 100644 (file)
@@ -11289,6 +11289,25 @@ gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class,
   priv->accessible_role = role;
 }
 
+/**
+ * _gtk_widget_peek_accessible:
+ * @widget: a #GtkWidget
+ *
+ * Gets the accessible for @widget, if it has been created yet.
+ * Otherwise, this function returns %NULL. If the @widget's implementation
+ * does not use the default way to create accessibles, %NULL will always be
+ * returned.
+ *
+ * Returns: the accessible for @widget or %NULL if none has been
+ *     created yet.
+ **/
+AtkObject *
+_gtk_widget_peek_accessible (GtkWidget *widget)
+{
+  return g_object_get_qdata (G_OBJECT (widget),
+                             quark_accessible_object);
+}
+
 /**
  * gtk_widget_get_accessible:
  * @widget: a #GtkWidget
index 03f25c76ff0234ef9a1618247b5beb308876b809..35f99b9c9ed33be9aa79116db3e728dfdb0b1542 100644 (file)
@@ -118,6 +118,8 @@ void     _gtk_widget_free_cached_sizes (GtkWidget *widget);
 const gchar*      _gtk_widget_get_accel_path               (GtkWidget *widget,
                                                             gboolean  *locked);
 
+AtkObject *       _gtk_widget_peek_accessible              (GtkWidget *widget);
+
 GdkEventExpose *  _gtk_cairo_get_event                     (cairo_t *cr);
 
 void              _gtk_widget_draw_internal                (GtkWidget *widget,